Chemical Markup Language
CML (Chemical Markup Language) is an approach to managing molecular information using tools such as XML and Java. It was the first domain specific implementation based strictly on XML, first based on a DTD[1] and later on XML Schema[2], the most robust and widely used system for precise information management in many areas. It has been developed over more than a decade by Murray-Rust, Rzepa and others and has been tested in many areas and on a variety of machines.
Chemical information is traditionally stored in many different file types which inhibit reuse of the documents. CML uses XML's portability to help CML developers and chemists design interoperable documents. There are a number of tools that can generate, process and view CML documents. Publishers can distribute chemistry within XML documents by using CML, e.g. in RSS documents[3].
CML is capable of supporting a wide range of chemical concepts including:
- molecules
- reactions[4]
- spectra and analytical data[5]
- computational chemistry
- chemical crystallography and materials
Details of CML and points currently under discussion are now posted on the CML Blog.
Versioning
The latest versions of the schema are available at Sourceforge. The latest frozen schema is CML2.4. A number of constructs in CML1 were DTD-based and are now deprecated so users should consider using CML v2.
Tools
JUMBO began life as the Java Universal Molecular Browser for Objects but is now a Java library that supports validation, reading and writing of CML as well as conversion of several legacy formats to CML and, for example, a reaction in CML to an animated SVG representation of the reaction.[6] JUMBO has evolved into an extensive Java library, CMLDOM[7], supporting all elements in the schema.[8] Although JUMBO used to be a browser, the preferred approach is to use the Open Source tools Jmol and JChemPaint, some of which use alternative CML libraries[9]. See Blue Obelisk.
See also
References
- ^ Murray-Rust, P.; Rzepa, H. S. (1999), "Chemical Markup, XML, and the Worldwide Web. 1. Basic Principles", J. Chem. Inf. Comput. Sci. 39 (6): 928–942, doi:10.1021/ci990052b
- ^ Murray-Rust, P.; Rzepa, H. S. (2003), "Chemical Markup, XML and the World Wide Web. 4. CML Schema", J. Chem. Inf. Comput. Sci. 43 (3): 757–772, doi:10.1021/ci0256541
- ^ Gkoutos, G. V.; Murray-Rust, P.; Rzepa, S.; Wright, M. (2001), "Chemical Markup, XML, and the World-Wide Web. 3. Toward a Signed Semantic Chemical Web of Trust", J. Chem. Inf. Comput. Sci. 41 (5): 1124–1130, doi:10.1021/ci000406v
- ^ Holliday, G. L.; Murray-Rust, P.; Rzepa, H. S. (2006), "Chemical Markup, XML and the World Wide Web. Part 6. CMLReact; An XML Vocabulary for Chemical Reactions", J. Chem. Inf. Mod. 46 (1): 145–157, doi:10.1021/ci0502698
- ^ Kuhn, S.; Helmus, T.; Lancashire,, R. J.; Murray-Rust, P.; Rzepa, H. S.; Steinbeck, C.; Willighagen, E. L. (2007), "Chemical Markup, XML, and the World Wide Web. 7. CMLSpect, an XML Vocabulary for Spectral Data", J. Chem. Inf. Mod. 47 (6): 2015–2034, doi:10.1021/ci600531a
- ^ JUMBO
- ^ Murray-Rust, P.; Rzepa, H. S. (2001), "Chemical Markup, XML and the World-Wide Web. 2. Information Objects and the CMLDOM", J. Chem. Inf. Comput. Sci. 41 (5), doi:10.1021/ci000404a
- ^ CML home on Sourceforge
- ^ E. L. Willighagen, Processing CML Conventions in Java, Chemistry Preprint Server, 2000. CPS Archives; E. L. Willighagen, Processing CML Conventions in Java, Internet Journal of Chemistry, 2001, 4. Abstract
Further Reading
- Rzepa, H. S.; Murray-Rust, P.; Whitaker, B. J. (1997), "The Internet as a Chemical Information Tool", Chem. Soc. Revs 26 (1): 1–10, doi:10.1039/CS9972600001
- Murray-Rust, P.; Rzepa, H. S.; Wright, M. (2001), "Development of Chemical Markup Language (CML) as a System for Handling Complex Chemical Content", New J. Chem.: 618–634
External links